package com.zhenmaitang.clinic_sys.security;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 数据权限注解
 * 用于标记需要进行数据权限控制的方法或类
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface HasDataPermission {
    
    /**
     * 资源类型
     */
    String resource() default "";
    
    /**
     * 是否需要数据ID
     * 如果为true，则必须提供数据ID参数
     * 如果为false，则不需要提供数据ID参数，只检查用户是否有指定资源的任何数据权限
     */
    boolean requireDataId() default true;
}